package com.docmgmt.mvp.ragflow.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * RAGFlow 知识库详情响应 VO
 * 
 * GET /api/v1/datasets/{dataset_id}
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class KnowledgeBaseDetailVO {

    /**
     * 知识库ID
     */
    private String id;

    /**
     * 知识库名称
     */
    private String name;

    /**
     * 知识库描述
     */
    private String description;

    /**
     * 头像（Base64编码）
     */
    private String avatar;

    /**
     * 嵌入模型
     */
    @JsonProperty("embedding_model")
    private String embeddingModel;

    /**
     * 权限：me/team
     */
    private String permission;

    /**
     * 分块方法
     */
    @JsonProperty("chunk_method")
    private String chunkMethod;

    /**
     * 解析器配置
     */
    @JsonProperty("parser_config")
    private ParserConfigDTO parserConfig;

    /**
     * 文档数量
     */
    @JsonProperty("document_count")
    private Integer documentCount;

    /**
     * 分块数量
     */
    @JsonProperty("chunk_count")
    private Integer chunkCount;

    /**
     * 创建时间（ISO 8601格式）
     */
    @JsonProperty("created_at")
    private String createdAt;

    /**
     * 更新时间（ISO 8601格式）
     */
    @JsonProperty("updated_at")
    private String updatedAt;

    /**
     * 租户ID
     */
    @JsonProperty("tenant_id")
    private String tenantId;

    /**
     * 语言（已废弃）
     */
    @Deprecated
    private String language;
}

